<?php 

if ( ! defined('BASEPATH')) exit('Acesso direto ao script negado.'); 

/** 
 * Esta classe foi gerada automaticamente pelo sistema de geração 
 * de CMS para Codeigniter desenvolvido por Eliel de Paula. 
 * 
 * Esta classe fornece os atributos e métodos necessários para 
 * o controller da tabela sorteios 
 * 
 * @package CMS 
 * @author Gerado automaticamente - <contato@elieldepaula.com.br> 
 * @since 28/10/2012 
 * @version 0.0.1 
 * 
 */

class Sorteios extends MX_Controller { 

    private $painel_name = 'Sorteios';

    function __construct() {
        parent::__construct();
        $this->load->model($this->painel_name.'_model');
        $this->load->helper('file');
    }

    /**
     * Este método mostra a lista de registros da tabela sorteios.
     * 
     * @access public 
     * @author Gerado automaticamente <contato@elieldepaula.com.br> 
     * @return boolean 
     */
    public function index() {
        $config = array();
        $dados_painel = array();
        $limit = 10;
        $uri_segment = 5;
        $offset = $this->uri->segment($uri_segment);
        $config['base_url'] = site_url('admin/'.$this->painel_name.'/index/pag');
        $total_registros = $this->Sorteios_model->count_all();
        $config['total_rows'] = $total_registros;
        $config['per_page'] = $limit;
        $config['uri_segment'] = $uri_segment;
        $this->pagination->initialize($config);
        $dados_painel['msg'] = $this->session->flashdata('feedback');
        $dados_painel['lista'] = $this->Sorteios_model->get_paged_list($limit, $offset)->result();
        $dados_painel['paginacao'] = $this->pagination->create_links();
        $dados_painel['total_registros'] = $total_registros;
        $dados_painel['modo'] = 'default';
        $this->template->load('main_view', $this->painel_name.'_view', $dados_painel);
    }

    /**
     * Este método exibe o formulário de cadastro da tabela sorteios.
     * 
     * @access public 
     * @author Gerado automaticamente <contato@elieldepaula.com.br> 
     * @return boolean 
     */
    public function insert() {
        $dados_painel['modo'] = 'insert';
        $this->template->load('main_view', $this->painel_name.'_view', $dados_painel);
    }

    /**
     * Este método exibe o formulário de alteração da tabela sorteios.
     * 
     * @access public 
     * @author Gerado automaticamente <contato@elieldepaula.com.br> 
     * @return boolean 
     */
    public function update($id = ''){
        if($id=='')redirect('admin/'.$this->painel_name);
        $dados_painel['modo'] = 'update';
        $dados_painel['row'] = $this->Sorteios_model->get_by_id($id)->row();
        $this->template->load('main_view', $this->painel_name.'_view', $dados_painel);
    }

    /**
     * Este método salva o registro na tabela sorteios.
     * Se houver um ID ele atualiza, caso contrário cria um novo registro.
     * 
     * @access public 
     * @author Gerado automaticamente <contato@elieldepaula.com.br> 
     * @return boolean 
     */
    public function save($id = '') {
        //$this->load->helper('file');
        $dados_save['idanunciantes'] = $_POST['idanunciantes'];
        $dados_save['titulo_sorteio'] = $_POST['titulo_sorteio'];
        $dados_save['descricao'] = $_POST['descricao'];
        $dados_save['regras'] = $_POST['regras'];
        $dados_save['data_sorteio'] = convert_data($_POST['data_sorteio']);
        $dados_save['prorrogacao_automatica'] = $_POST['prorrogacao_automatica'];
        $dados_save['permite_sorteio_nulo'] = $_POST['permite_sorteio_nulo'];
        $dados_save['minimo_ativacao'] = $_POST['minimo_ativacao'];
        $dados_save['modalidade'] = $_POST['modalidade'];
        $dados_save['data_cadastro'] = convert_data($_POST['data_cadastro']);
        $dados_save['valor'] = $_POST['valor'];
        $dados_save['referencia_cef'] = $_POST['referencia_cef'];
        $dados_save['resultado_cef'] = $_POST['resultado_cef'];
        $dados_save['id_gahador'] = $_POST['id_gahador'];
        $dados_save['status'] = $_POST['status'];
        if($id):
            if ($_POST['alterar_arquivo']):
                $sorteio = $this->Sorteios_model->get_by_id($id)->row();
                //deletefiles("midia/sorteios/".$sorteio->foto);
                $dados_save['foto'] = $this->_upload();
            endif;
            if($this->Sorteios_model->update($id, $dados_save)):
                $this->session->set_flashdata('feedback', 'Dados salvos com sucesso!');
                redirect('admin/'.$this->painel_name);
            else:
                $this->session->set_flashdata('feedback', 'Erro ao salvar os dados.');
                redirect('admin/'.$this->painel_name);
            endif;
        else:
            $dados_save['foto'] = $this->_upload();
            if($this->Sorteios_model->save($dados_save)):
                $this->session->set_flashdata('feedback', 'Dados salvos com sucesso!');
                redirect('admin/'.$this->painel_name);
            else:
                $this->session->set_flashdata('feedback', 'Erro ao salvar os dados');
                redirect('admin/'.$this->painel_name);
            endif;
        endif;
    }

    /**
     * Este método exclui um registro da tabela sorteios.
     * 
     * @access public 
     * @author Gerado automaticamente <contato@elieldepaula.com.br> 
     * @return boolean 
     */
    public function delete($id) {
        if($this->Sorteios_model->delete($id)):
            $this->session->set_flashdata('feedback', 'Dados excluidos com sucesso!');
    	       redirect('admin/'.$this->painel_name);
    	   else:
    	       $this->session->set_flashdata('feedback', 'Erro ao excluir os dados.');
            redirect('admin/'.$this->painel_name);
    	   endif;
    }
    
    
    
    
     private function _upload() {
        // Configura o upload
        $config['upload_path'] = './midia/sorteios/';
        $config['allowed_types'] = 'gif|jpg|png';
        $config['max_size'] = '0';
        $config['max_width'] = '0';
        $config['max_height'] = '0';
        $config['remove_spaces'] = TRUE;
        $config['overwrite'] = TRUE;
        $config['file_name'] = date("YmdHis");
        // Carrega a biblioteca passando as configurações
        $this->load->library('upload', $config);
        if (!$this->upload->do_upload()):
            return NULL;
        else:
            $capa = $this->upload->data();
            return $capa['file_name'];
        endif;
    }

}

/* Sem fechamento para evitar erros de cabecalho. */

